SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[paObtenerMovimientosPendientes]

@FechaDesde VARCHAR(10) = NULL,
@FechaHasta VARCHAR(10) = NULL,
@FechaCarga VARCHAR(10) = NULL,
@Estado INT = NULL,
@Organizacion INT = NULL,
@Movimiento INT = NULL,
@Agente INT = NULL,
@IdCola INT = NULL,
@SoloEscuelas INT = NULL

AS

DECLARE @Consulta varchar(5000)
SET @Consulta = 'SELECT  
(isnull(CA.mnemo,'''')+isnull(CB.Mnemo,'''')) Causa,
ME.IdCola, ME.Agente, ME.CUISE,  convert(varchar(8),ME.FechaCarga,3) FechaCarga, convert(varchar(8),ME.FechaDesde,3) FechaDesde, convert(varchar(8),ME.FechaHasta,3) FechaHasta,
PM.RectificaA + Movimiento AS Movimiento, ME.Estado, Licencia,
(SitRev + (CASE WHEN Pm.Atitularizar =''S'' THEN '' aTit'' ELSE '''' END)) Sitrev  , 
 PM.CUPOF, CASE WHEN A.Documento = Af.NumeroAfiliado THEN ''NO'' ELSE ''SI'' END AfiliadoCorrecto 
FROM vwMovimientosEnviados ME
INNER JOIN vwrObtenerPlazasDeMovimiento AS PM ON PM.IdCola = ME.IdCola 
INNER JOIN tb_Agentes A ON A.Documento = ME.Documento 
INNER JOIN tb_Afiliaciones Af ON Af.Organismo = 1 AND Af.idAgente = A.idAgente 
LEFT OUTER JOIN tb_CausasAltas CA ON CA.idCausaAlta = PM.CAlta
LEFT OUTER JOIN tb_CausasBajas CB ON CB.idCausaBaja = PM.Cbaja
WHERE 1=1'

IF @Estado IS NOT NULL SET @Consulta = @Consulta + ' AND IDEstado=' + convert(VARCHAR(2), @Estado)

IF @Movimiento IS NOT NULL SET @Consulta = @Consulta + ' AND IDMovimiento=' + convert(VARCHAR(2), @Movimiento)

IF @Organizacion IS NOT NULL SET @Consulta = @Consulta + ' AND CUISE=' + convert(VARCHAR(10), @Organizacion)

IF @Agente IS NOT NULL SET @Consulta = @Consulta + ' AND A.Documento=' + convert(VARCHAR(12), @Agente)

IF @IdCola IS NOT NULL SET @Consulta = @Consulta + ' AND Me.IdCola=' + convert(VARCHAR(12), @IdCola)

IF @SoloEscuelas = 1 SET @Consulta = @Consulta + ' AND ME.Modo = 2' SET @Consulta = @Consulta + '  ORDER BY Fecha DESC' EXEC (@Consulta)
GO
